This invention relates to methods for storing data.
When working with databases, users often need to make notations on the database. Such notations are known as metadata, or data describing other data. As an illustrative example, one may wish to note the origin of a value, caveats associated with certain columns, mark a column for deletion, or make any number of notes which would be helpful to a user (or group of users) in developing, maintaining or using a database. As the need for collaboration amongst individual users in developing, maintaining or using databases grows, the ability to share metadata is fast becoming an increasingly desirable database feature.
One problem with conventional database implementations is that access to metadata has typically been limited to select users with elevated database privileges, e.g., administrators. For example, SQL Server has a “Description” attribute which is not easy to find, e.g., requiring a high level of database development proficiency, and also requires elevated privileges to update. Therefore, non-administrative users may not be able to view, modify or create metadata.
Another problem with conventional database implementations is that users are generally limited to a set of pre-defined metadata types and lack the ability to specify their own types. SQL Server has built-in functions which allow creation of “extended properties,” allowing high-level users to specify custom metadata types. However, as with the Description attribute, access is difficult and requires elevated privileges. In addition, the ability to custom-define metadata has not been widely implemented in other database programs, e.g., Oracle.
Based on the above, there is a need for techniques or products which are user-friendly and enable multiple users, who may have varying privilege levels and/or database proficiencies, to share access to predefined metadata. It is further desirable that the users be able to share access to custom-defined metadata.